const prefix = '';
const suffix = '.do';

const urlMap = {
    'dev': {
        // ************************************* merchant-info-controller ***********************/

        /**
         *  email	         string
            newConfirmPwd	string
            newPwd	      string
            verifyCode	   string
         */
        '商户重置登入密码(未登陆)': '/merchantRePwdByVerifyCode',
        /**
         *  email	         string
         */
        '重置登入密码时(未登入) 发送验证码': '/merchantSendCodeForRePwd',
        /**
         * {
            "email": "string",
            "emailVerifyType": "repwd", [ repwd, reg, refundpwd, other ]
            "verifyCode": "string"
            }
         */
        '验证码验证': '/checkMerchantVerifyCode',

        /**
         * "merchantId": 0 商户编号
         */
        '商户详情': '/merchantInfo',

        /**
         * {
            "newConfirmPwd": "string",
            "newPwd": "string",
            "oldPwd": "string"
            }
         */
        '商户修改密码(已登录)': '/merchantLoggedInRePwd',

        /**
         * {
            "email": "string",
            "newConfirmPwd": "string",
            "newPwd": "string",
            "oldPwd": "string"
            }
         */
        '商户修改密码(未登录)': '/merchantNotLoggedInRePwd',

        /**
         *  newConfirmFundPwd string    确认密码
            newFundPwd	string          新交易密码
            oldFundPwd	string          旧交易密码
         */
        '商户修改交易密码(已登陆)': '/merchantReFundPwd',

        /**
         *  newConfirmFundPwd   string  确认密码
            newFundPwd	        string  新交易密码
         */
        '商户重置交易密码(已登陆)': '/merchantReFundPwdByVerifyCode',
        /**
         * email	string
         */
        '重置交易密码时(已登入) 发送验证码': '/merchantSendCodeForReFundPwd',
        /**
         * email	string
         */
        '修改登入密码时(未登入) 发送验证码': '/merchantSendCodeForRePwd',
        /**
         *  data	string
            message	string
            status	integer($int32)
         */
        '退出登陆': '/signout',
        /**
         *  data	string
            message	string
            status	integer($int32)
         */
        '登陆': '/sign',
        /**
         * shopLogo	string  商户logo
         */
        '商户保存logo': '/updateMerchantShopLogo',
        /**
         * 无
         */
        '商户上传logo': '/uploadMerchantShopLogo',

        // **************************** merchant-push-controller ****************************/
        /**
         *  mode	string          接收类型
            Enum:   Array [ 2 ]     [ ALL, DESIGNATED ]
            pageNo	integer($int32) 当前页数
         */
        '商户消息列表': '/merchantPushList',
        // **************************** merchant-transaction-controller ****************************/
        /**
         *  status	        string          转帐状态
            Enum:           Array [ 6 ]     [ PENDING, APPROVAL, COMPLETED, FAILED, REJECTED, CANCELED ]
            transactionId	string          交易订单编号
         */
        '商户取消转帐': '/cancelWithdrawal',
        /**
         *  endDate	    string          提币日期(结束)
            pageNo	    integer($int32) 当前页数
            startDate	string          提币日期(开始)
            status	    string          状态  [ PENDING, APPROVAL, COMPLETED, FAILED, REJECTED, CANCELED ]
         */
        '商户平台转帐列表': '/merchantTransactionList',
        /**
         *  address	string
            amount	string
            fundPwd	string
         */
        '商户转帐请求': '/requestWithdrawal',

        // **************************** merchant-wallet-controller ****************************/
        /**
         * 无
         */
        '商户资产(页)': '/merchantProperty',
        /**
         * 无
         */
        '商户提现请求前调用的接口': '/getMerchantWalletBalanceForWithdrawalCash',
        // **************************** merchant-withdrawal-cash-controller ****************************/
        /**
         *  status	        string          提现状态
            Enum:           Array [ 6 ]     [ COMPLETED, REJECTED, CANCELED, PENDING, APPROVAL, CANCEL_TRANSFER ]
            withdrawalId	string          提现编号
         */
        '商户取消提现': '/cancelWithdrawalCash',
        /**
         *  amount	string
            fundPwd	string
         */
        '商户提现请求': '/requestWithdrawalCash',
        /**
         * withdrawalMerchantId	    string  申请编号
         */
        '商户提现详情页': '/withdrawalCash',
        /**
         *  endDate	    string              申请日期(结束)
            pageNo	    integer($int32)     当前页数
            startDate	string              申请日期(开始)
            status	    string              状态    [ COMPLETED, REJECTED, CANCELED, PENDING, APPROVAL, CANCEL_TRANSFER ]
         */
        '商户提现列表': '/withdrawalCashList',
        // **************************** trade-order-controller ****************************/
        /**
         * outTradeNo	string  外部订单号
         */
        '交易订单详情': '/tradeOrder',
        /**
         *  endDate	        string              订单日期(结束)
            firmName	    string              商户名称
            outTradeNo	    string              商户订单号
            pageNo	        integer($int32)     当前页数
            startDate	    string              订单日期(开始)
            status	        string              订单状态
            Enum:           Array [ 4 ]         [ SUCCESS, WAITING_PAYMENT, CANCELED, FAILED ]
            tradeOrderId	string              订单号
         */
        '交易订单列表': '/tradeOrderList',
    }
};

export const urlService = (type: string, key: string) => {
    const url = urlMap[type][key];
    if (url) {
        return prefix + urlMap[type][key] + suffix;
    } else {
        throw Error(`fail to find url: ${key}`);
    }
};

